<?php

/**
 * Albireo Kernel
 *
 * @copyright  Copyright (c) 2011 Celebrio Software
 * @package    Kernel
 */
namespace Celebrio\AccessControl;


use Nette\Object;

use \Celebrio\AccessControl\BaseUser;

/**
 * Albireo User entity
 *
 * @author Celebrio Software
 */

class AlbireoUser extends BaseUser {
    
    /** @var string */
    private $username = null;

    /** @var string */
    private $email = null;

    /** @var datetime */
    private $created = null;

    /** @var string */
    private $language = null;

    /** @var string */
    private $timezone = null;

    /**
     * AlbireoUser constructor
     * 
     * @param String $username
     * @param String $firstName
     * @param String $lastName
     * @param String $email
     * @param datetime $created
     * @param String $language
     * @param String $timezone 
     */
    public function __construct($username = null, $firstName = null, $lastName = null, $email = null, $created = null, $language = null, $timezone = null) {
        $this->setUsername($username);
        $this->setFirstName($firstName);
        $this->setLastName($lastName);
        $this->setEmail($email);
        $this->setCreated($created);
        $this->setLanguage($language);
        $this->setTimezone($timezone);
    }

    /**
     * @return int
     */
    public function getId() {
        return parent::getUserId();
    }

    /**
     * @param int $id
     * @return void
     */
    public function setId($id) {
        parent::setUserId($id);
    }

    /**
     * @return string
     */
    public function getUsername() {
        return $this->username;
    }

    /**
     * @param string $username
     */
    public function setUsername($username) {
        $this->username = $username;
    }

    /**
     * @return string
     */
    public function getEmail() {
        return $this->email;
    }

    /**
     * @param string $email
     */
    public function setEmail($email) {
        $this->email = $email;
    }

    /**
     * @return string
     */
    public function getLanguage() {
        return $this->language;
    }

    /**
     * @param string $language
     */
    public function setLanguage($language) {
        $this->language = $language;
    }

    /**
     * @return string
     */
    public function getTimezone() {
        return $this->timezone;
    }

    /**
     * @param string $timezone
     */
    public function setTimezone($timezone) {
        $this->timezone = $timezone;
    }

    /**
     * @return string
     */
    public function getCreated() {
        return $this->created;
    }

    /**
     * @param string $created
     */
    public function setCreated($created) {
        $this->created = $created;
    }
}

